[ - 参考手册、选项、命令示例


姓名

[ 测试 - 检查文件类型并比较值

概要

test EXPRESSION
test
[ EXPRESSION ]
[ ]
[ OPTION

描述

退出,状态由 EXPRESSION 确定。

--help

显示此帮助并退出

--version

输出版本信息并退出

省略的 EXPRESSION 默认为 false。否则,EXPRESSION 为 true 或 false 并设置退出状态。它是以下之一:

( EXPRESSION )

表达是真实的

! EXPRESSION

表达式是假的

EXPRESSION1 -a EXPRESSION2

EXPRESSION1 和 EXPRESSION2 均为 true

EXPRESSION1 -o EXPRESSION2

EXPRESSION1 或 EXPRESSION2 为 true

-n STRING

STRING 的长度不为零

STRING

相当于 -n STRING

-z STRING

STRING 的长度为零

STRING1 = STRING2

字符串相等

STRING1 != STRING2

字符串不相等

INTEGER1 -eq INTEGER2

INTEGER1 等于 INTEGER2

INTEGER1 -ge INTEGER2

INTEGER1 大于或等于 INTEGER2

INTEGER1 -gt INTEGER2

INTEGER1 大于 INTEGER2

INTEGER1 -le INTEGER2

INTEGER1 小于或等于 INTEGER2

INTEGER1 -lt INTEGER2

INTEGER1 小于 INTEGER2

INTEGER1 -ne INTEGER2

INTEGER1 不等于 INTEGER2

FILE1 -ef FILE2

FILE1 和 FILE2 具有相同的设备和 inode 号

FILE1 -nt FILE2

FILE1 比 FILE2 更新(修改日期)

FILE1 -ot FILE2

FILE1 早于 FILE2

-b FILE

FILE 存在并且是块特殊的

-c FILE

文件存在并且是特殊字符

-d FILE

FILE 存在并且是一个目录

-e FILE

文件已存在

-f FILE

FILE 存在并且是一个常规文件

-g FILE

文件存在并且已设置组 ID

-G FILE

FILE 存在并且由有效组 ID 拥有

-h FILE

FILE 存在并且是一个符号链接(与 -L 相同)

-k FILE

文件存在并设置了粘滞位

-L FILE

FILE 存在并且是一个符号链接(与 -h 相同)

-N FILE

文件存在并且自上次读取以来已被修改

-O FILE

FILE 存在并且由有效用户 ID 拥有

-p FILE

FILE 存在并且是一个命名管道

-r FILE

文件存在并且用户具有读取权限

-s FILE

文件存在且大小大于零

-S FILE

FILE 存在并且是一个套接字

-t FD

文件描述符 FD 在终端上打开

-u FILE

FILE 存在并且其 set-user-ID 位已设置

-w FILE

FILE 存在并且用户具有写权限

-x FILE

文件存在并且用户具有执行(或搜索)访问权限

除了 -h 和 -L 之外,所有与 FILE 相关的测试都取消引用符号链接。请注意,对于 shell,括号需要转义(例如,通过反斜杠)。 INTEGER 也可以是 -l STRING,其计算结果为 STRING 的长度。

注意:二进制 -a 和 -o 本质上是不明确的。改用

test EXPR1 && test EXPR2

或者

test EXPR1 || test EXPR2

注意:[ 遵循 --help 和 --version 选项,但 test 不这样做。测试对待每一个都像对待任何其他非空字符串一样。

注意:您的 shell 可能有自己的 test 和/或 [ 版本,通常会取代此处描述的版本。请参阅您的 shell 文档,了解有关其支持的选项的详细信息。

作者

由凯文·布劳恩斯多夫和马修·布拉德本撰写。

报告错误

GNU coreutils 在线帮助:
向 报告任何翻译错误

版权

版权所有 © 2022 Free Software Foundation, Inc。许可证 GPLv3+:GNU GPL 版本 3 或更高版本 。
这是免费软件:您可以自由更改和重新分发它。在法律允许的范围内,不提供任何保证。

也可以看看

access(2)


Full documentation https://www.gnu.org/software/coreutils/test
or available locally via: info '(coreutils) test invocation'